﻿package com.winmastergames.screenManager {
	import com.winmastergames.lolgame.gameUtils;
	import flash.display.MovieClip;
	import flash.display.SimpleButton;
	import flash.display.Stage;
	import com.winmastergames.lolgame.engine;

	/**
	 * ...
	 * @author     Advanced Flash Engine in ActionScript 3.
	   Copyright (C) 2009  Dean Gardiner, Taylor Lodge

	   This program is free software: you can redistribute it and/or modify
	   it under the terms of the GNU General Public License as published by
	   the Free Software Foundation, either version 3 of the License, or
	   (at your option) any later version.

	   This program is distributed in the hope that it will be useful,
	   but WITHOUT ANY WARRANTY; without even the implied warranty of
	   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	   GNU General Public License for more details.

	   You should have received a copy of the GNU General Public License
	   along with this program.  If not, see <http://www.gnu.org/licenses/>.
	 */
	public class screenObject {
		// TODO: Document This Class on Wiki.
		public var screenBackgroundAsset:MovieClip;
		public var screenGameStateCode:String;
		public var screenEnabledAssetsArray:Array;
		public var screenDisabledAssetsArray:Array;
		public var screenOnScreenFunction:Function;
		public var screenButtonsArray:Array;
		public var stageRef:Stage;

		public function screenObject(screenBackground:MovieClip, gameStateCode:String, enabledAssets:Array, disabledAssets:Array, onScreen:Function, buttons:Array, mainstageRef:Stage){
			stageRef = mainstageRef;
			screenButtonsArray = buttons;
			screenBackgroundAsset = screenBackground;
			screenGameStateCode = gameStateCode;
			screenEnabledAssetsArray = enabledAssets;
			screenDisabledAssetsArray = disabledAssets;
			screenOnScreenFunction = onScreen;
		}

		public function removeSelf(){
			for (var j:Number = 0; j < engine.screenHandlerClass.currentScreens.length; j++){
				engine.screenHandlerClass.currentScreens = new Array();
			}
			stageRef.removeChild(screenBackgroundAsset);
			for (var i:Number = 0; i < screenButtonsArray.length; i++){
				var tempButtonObject:buttonObject = screenButtonsArray[i];
				var tempButtonA:SimpleButton = tempButtonObject.buttonAsset;
				stageRef.removeChild(tempButtonA);
			}
		}
	}
}